package cn.gyn.gynrpc.core.annotation;

import java.lang.annotation.*;

/**
 * @Target(ElementType.FIELD)和@Target(ElementType.TYPE)是Java语言中用来指定注解可以应用的目标元素类型的元注解。它们的区别在于注解所能应用的范围不同。
 * @Target(ElementType.FIELD)：指定注解可以应用在字段上，也就是类的成员变量上。
 * @Target(ElementType.TYPE)：指定注解可以应用在类、接口、枚举等类型上，也就是可以作用于类级别的元素。
 * 因此，当一个注解使用了@Target(ElementType.FIELD)时，它只能被应用于类的成员变量上；而使用了@Target(ElementType.TYPE)时，它可以被应用于类、接口、枚举等类型上。
 *
 * 加了consumer注解后,让方法调用provider里真正的方法
 */
@Documented
@Retention(RetentionPolicy.RUNTIME) //runtime起作用
@Target(ElementType.FIELD) //放FIELD上:注解应用的位置不同FIELD用在类的成员变量上，TYPE是用在类上的。
@Inherited //允许继承
public @interface GynConsumer {
}
